home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / tcqbsnip.zip / DETAB.BAS < prev    next >
BASIC Source File  |  1997-06-20  |  1KB  |  38 lines

  1. ' DETAB.BAS
  2. ' by Tika Carr
  3. ' February 17, 1997
  4. '
  5. ' Donated to the public domain
  6. ' No warranties or guarantees are expressed or implied.
  7. '
  8. ' Purpose: Replaces tabs with a specified amount of spaces (default = 2)
  9.  
  10. DECLARE SUB GetArg ()
  11. DEFINT A-Z
  12.  
  13. PRINT "detab by Tika Carr 2/17/1997"
  14.  
  15. IF COMMAND$ = "" THEN PRINT "Usage: detab filename.ext [tab size (default = 2)]": END
  16.  
  17. i = INSTR(COMMAND$, " "): IF i = 0 THEN TabSize = 2 ELSE TabSize = VAL(RIGHT$(COMMAND$, LEN(COMMAND$) - i))
  18. IF i <> 0 THEN FileName$ = LEFT$(COMMAND$, i - 1) ELSE FileName$ = COMMAND$
  19. PRINT "Processing File: "; FileName$; " using "; TabSize; " spaces per tab."
  20. ln = CSRLIN
  21. LOCATE ln, 1: PRINT "Processing Line #: ";
  22. lnum = 1
  23. OPEN FileName$ FOR INPUT AS #1
  24. OPEN "temp.$$$" FOR OUTPUT AS #2
  25.   WHILE NOT EOF(1)
  26.     LINE INPUT #1, A$: X$ = ""
  27.     LOCATE ln, 20: PRINT SPACE$(5);
  28.     LOCATE ln, 20: PRINT lnum;
  29.     FOR i = 1 TO LEN(A$)
  30.       IF MID$(A$, i, 1) = CHR$(9) THEN X$ = X$ + SPACE$(TabSize) ELSE X$ = X$ + MID$(A$, i, 1)
  31.     NEXT
  32.     PRINT #2, X$: lnum = lnum + 1
  33.   WEND
  34. CLOSE
  35. KILL FileName$
  36. NAME "temp.$$$" AS FileName$
  37.  
  38.